/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import Dao.FabricaConexao;
import Dao.ProdutoDao;
import java.util.ArrayList;

/**
 *
 * @author Diego
 */
public class ProdutoModel {
    private int CodProd;
    private String NomeProd;
    private Double ValorProd;

    /**
     * @return the CodProd
     */
    public ProdutoModel(){
        this.CodProd=-1;
        this.NomeProd="";
        this.ValorProd= 0.0;
    }
    public int getCodProd() {
        return CodProd;
    }

    /**
     * @param CodProd the CodProd to set
     */
    public void setCodProd(int CodProd) {
        this.CodProd = CodProd;
    }

    /**
     * @return the NomeProd
     */
    public String getNomeProd() {
        return NomeProd;
    }

    /**
     * @param NomeProd the NomeProd to set
     */
    public void setNomeProd(String NomeProd) {
        this.NomeProd = NomeProd;
    }

    /**
     * @return the ValorProd
     */
    public Double getValorProd() {
        return ValorProd;
    }

    /**
     * @param ValorProd the ValorProd to set
     */
    public void setValorProd(Double ValorProd) {
        this.ValorProd = ValorProd;
    }
     public void setProximoCodigo(){
        int ProximoCodigo = ProdutoDao.PegaCodPelaNavegacao(ProdutoDao.cNavUltimo, 0);
        this.CodProd= ProximoCodigo + 1;
    }
    ProdutoDao objCliente = new ProdutoDao();
    public void Salvar(){
        objCliente.Salvar(this);
    }
     public void RecuperaObjeto(int iCod){
        ProdutoModel ProdutoTemp = ProdutoDao.RecuperarProduto(iCod);
        this.setCodProd(ProdutoTemp.getCodProd());
        this.setNomeProd(ProdutoTemp.getNomeProd());
        this.setValorProd(ProdutoTemp.getValorProd());
    }

    public void Atualizar() {
        ProdutoDao.Alterar(this);
    }
    public void Excluir(int CodAtual) {
        ProdutoDao.Excluir(CodAtual);
    }

    public void RecuperaObjetoNaveg(int op, int iCod) {
        int CodNav = ProdutoDao.PegaCodPelaNavegacao(op, iCod);
        RecuperaObjeto(CodNav);        
    }

    public ArrayList<ProdutoModel> RecuperaObjetos(String Campo, String Valor, boolean EmQualquerParte) {
         String NomeCampo="";
        if(Campo.equals("0")){
            NomeCampo="NOME_PROD";
        }else{
            NomeCampo="VALOR_PROD";
        }
        return ProdutoDao.PesquisaObjeto(NomeCampo, Valor, EmQualquerParte);
    }
}
           

